package form.ui.css
{
	import form.ui.core.FMSprite;

	public class ToggleCSS extends CSS
	{
		private var _onUpSkin:String;
		private var _onOverSkin:String;
		private var _onDownSkin:String;
		private var _onDisableSkin:String;
		
		private var _offUpSkin:String;
		private var _offOverSkin:String;
		private var _offDownSkin:String;
		private var _offDisableSkin:String;
		
		public function ToggleCSS(owner:FMSprite)
		{
			super(owner);
		}
		
		override public function imitate(css:CSS):CSS
		{
			var n:ToggleCSS = super.imitate(css) as ToggleCSS;
			n._onUpSkin = _onUpSkin;
			n._onOverSkin = _onOverSkin;
			n._onDownSkin = _onDownSkin;
			n._onDisableSkin = _onDisableSkin;
			n._offUpSkin = _offUpSkin;
			n._offOverSkin = _offOverSkin;
			n._offDownSkin = _offDownSkin;
			n._offDisableSkin = _offDisableSkin;
			return n;
		}
		
		override public function clear():void
		{
			super.clear();
			this._onUpSkin = null;
			this._onOverSkin = null;
			this._onDownSkin = null;
			this._onDisableSkin = null;
			this._offUpSkin = null;
			this._offOverSkin = null;
			this._offDownSkin = null;
			this._offDisableSkin = null;
		}
		
		public function get onUpSkin():String
		{
			return _onUpSkin;
		}
		public function set onUpSkin(value:String):void
		{
			_onUpSkin = value;
			if(owner.hasRegistedStyle("onUpSkin")) owner.registerStyle("onUpSkin", onUpSkin);
		}
		public function get onOverSkin():String
		{
			return _onOverSkin;
		}
		public function set onOverSkin(value:String):void
		{
			_onOverSkin = value;
			if(owner.hasRegistedStyle("onOverSkin")) owner.registerStyle("onOverSkin", onOverSkin);
		}
		public function get onDownSkin():String
		{
			return _onDownSkin;
		}
		public function set onDownSkin(value:String):void
		{
			_onDownSkin = value;
			if(owner.hasRegistedStyle("onDownSkin")) owner.registerStyle("onDownSkin", onDownSkin);
		}
		public function get onDisableSkin():String
		{
			return _onDisableSkin;
		}
		public function set onDisableSkin(value:String):void
		{
			_onDisableSkin = value;
			if(owner.hasRegistedStyle("onDisableSkin")) owner.registerStyle("onDisableSkin", onDisableSkin);
		}
		public function get offUpSkin():String
		{
			return _offUpSkin;
		}
		public function set offUpSkin(value:String):void
		{
			_offUpSkin = value;
			if(owner.hasRegistedStyle("offUpSkin")) owner.registerStyle("offUpSkin", offUpSkin);
		}
		public function get offOverSkin():String
		{
			return _offOverSkin;
		}
		public function set offOverSkin(value:String):void
		{
			_offOverSkin = value;
			if(owner.hasRegistedStyle("offOverSkin")) owner.registerStyle("offOverSkin", offOverSkin);
		}
		public function get offDownSkin():String
		{
			return _offDownSkin;
		}
		public function set offDownSkin(value:String):void
		{
			_offDownSkin = value;
			if(owner.hasRegistedStyle("offDownSkin")) owner.registerStyle("offDownSkin", offDownSkin);
		}
		public function get offDisableSkin():String
		{
			return _offDisableSkin;
		}
		public function set offDisableSkin(value:String):void
		{
			_offDisableSkin = value;
			if(owner.hasRegistedStyle("offDisableSkin")) owner.registerStyle("offDisableSkin", offDisableSkin);
		}
		
	}
}